package com.example.asapp.demo.test;


import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jms.core.JmsMessagingTemplate;
import org.springframework.web.bind.annotation.*;

import javax.jms.Destination;
import javax.jms.Queue;
import javax.jms.Topic;

@RestController
@RequestMapping("/mq")
public class ProducerController
{
    @Autowired
    JmsMessagingTemplate jmsMessagingTemplate;

    @Autowired
    Topic topic;

    @Autowired
    Queue queue;

    // 这东西只能有一个接收到
    // 由此可见是先发送到activMq上 这个最初的for循环确实是顺序的
    // 但是listener的先后循序不遵循for循环的书讯
    @GetMapping("queue/test")
    public void sendQueue() {
        for(int i=0;i<10000;i++){
            // 没有必要这样执行了
//            asyncTaskService.sendToQueue(""+i);
            jmsMessagingTemplate.convertAndSend(this.queue,i+"");

        }
    }

    @GetMapping("topic/test")
    public void sendTopic() {
        for(int i=0;i<10000;i++) {
            jmsMessagingTemplate.convertAndSend(this.topic,i+"");

        }
    }



}